/* #include "module_sensor.h" */

#ifndef __MODULE_SENSOR_H
#define __MODULE_SENSOR_H

#include "stm32f4xx.h"
/*=====================================================================================================*/
/*=====================================================================================================*/
#define LSM303A_X_Theoretic 0
#define LSM303A_Y_Theoretic 0
#define LSM303A_Z_Theoretic 8000	// 1000mg/2mg = 500, 500<<4 = 8000
#define L3G4200_X_Theoretic 0
#define L3G4200_Y_Theoretic 0
#define L3G4200_Z_Theoretic 0
#define LSM303M_X_Theoretic 0			// 36352.52nT = 0.3635252Gauss
#define LSM303M_Y_Theoretic 0
#define LSM303M_Z_Theoretic 0
/*=====================================================================================================*/
/*=====================================================================================================*/
typedef struct {
	s16 X;
	s16 Y;
	s16 Z;
  s16 OffsetX;
  s16 OffsetY;
  s16 OffsetZ;
 	float TrueX;
	float TrueY;
	float TrueZ;
} Sensor;
/*=====================================================================================================*/
/*=====================================================================================================*/
extern Sensor Acc;
extern Sensor Gyr;
extern Sensor Meg;
extern Sensor Ang;
extern float Ellipse[5];
/*=====================================================================================================*/
/*=====================================================================================================*/
void Sensor_Init( void );
void Sensor_EllipseFitting( float*, s16*, s16*, u8 );
/*=====================================================================================================*/
/*=====================================================================================================*/
#endif
